# -*- coding:utf-8 -*-
"""
Created on 02.02.2010

@author: r4smus
"""

#
#Erklaeren Sie mit eigenen Worten die Bedeutung des Schlueusselworts lambda.
#(max. vier Saetze
#- mit dem Schlüsselwort lambda können sogenannte Einwegfunktionen erstellt werden.
#- mit lambda können sehr leicht formeln umgesetzt werden
#- sehr kompakte form --> wenig code
#

#Erstellen Sie einen Python-
#"
#Einzeiler\ zur Erzeugung einer List, die alle Zahlen
#zwischen 1 und 500 enthalt, deren Quadrat Modulo 13 drei ergibt.

print filter(lambda x: x**2 % 13 == 3, [i for i in range(1,500)] )


#Berechnung des Mittelwerts einer Liste aus 
#float-Zahlen.

print reduce(lambda x, y: x + y, [1.2, 2.3, 4.9, 9.3, 5.2]) / 5

#Berechnung einer Liste mit Funktionswerten x+3xy +z3, wobei die Zahlen
#x; y; z aus drei gleich langen Listen xList, yList, zList stammen sollen.

print map(lambda x, y, z: x + 3*x*y + z**3, [1,3,5,9,4,8],[1,3,6,4,8,7],[2,4,6,8,7,1])

#Alle ohne Rest durch funf teilbaren Zahlen aus dem Ergebnis von Aufgabe
print filter(lambda x: x**2 % 13 == 3 and x**2 % 5 == 0 , [i for i in range(1,500)] )
